This invention relates to an information processing system in which a plurality of information processing apparatuses, each having at least one processor, are interconnected via a line, wherein each information processing apparatus is capable of accessing an internal memory in each of the other information processing apparatuses. The invention further relates to such an information processing apparatus and to a method of using such an apparatus, as well as a method of controlling the system.
In an information processing apparatus connected by a communication line having a low transmission speed, such as a local area network ("LAN"), part of a physical memory incorporated in the information processing apparatus is acquired when a user program is generated and started up as a process. The process is run in the physical memory that has been acquired. Operating systems having a virtual storage mechanism have appeared in recent years. When the physical memory attempted to be acquired is inadequate, the contents of a physical page having a low rate of use are exported to a secondary memory accompanying the information processing apparatus or to another information processing apparatus, whereby a physical page is acquired in the physical memory of the information processing apparatus.
However, even if an information processing apparatus has an operating system possessing a virtual storage mechanism and the physical memory of another information processing apparatus on the communication line is empty, this physical memory cannot be utilized directly, though it can be utilized indirectly. The reason for this is that since the data transmission speed of the communication line is low, the hardware configuration adopted is not one that makes direct use of the physical memory of other information processing apparatuses.
However, a communication medium such as an optical cable that is reliable and has a performance somewhat close to that of the internal bus of the information processing apparatus has become available. By virtue of this medium, it is possible to adopt a configuration in which the physical memory of a certain information processing apparatus is utilized in another information processing apparatus directly. This makes it possible to provide a system in which any information processing apparatus is directly accessible.
Such an information processing system is one in which all of the memories (or parts thereof) provided in respective ones of the information processing apparatuses construct a single memory space, wherein the overall system is capable of operating in the manner of a NUMA (non-uniform memory access)-type multiprocessor system. In other words, this is a system capable of operating as a multiprocessor system because all of the information processing apparatuses in effect share a single memory, i.e., a certain information processing apparatus is capable of accessing its own memory at high speed and of accessing the memories of other information processing apparatuses but at reduced speed.
With such a system, a physical page of a physical memory in the other information processing apparatus can be secured and utilized directly if the physical memory of this other information processing apparatus is empty, even if the physical page of the physical memory in the information processing apparatus described above is not exported to its accompanying secondary memory or to the other information processing apparatus. (The physical memory utilized in the other information processing apparatus is referred to as a "remote page", and an information processing apparatus's own physical memory utilized thereby is referred to as a "local page".)
When the physical memory of an information processing apparatus in which a certain process is running is inadequate and the physical page of the physical memory in another information processing apparatus is acquired in the manner described above, the problem set forth below arises if the remote page is acquired indiscriminately without relation to the contents of the data to be stored in the physical page.
For example, assume a case where a certain information processing apparatus is part of a multiprocessor system, the process running in the apparatus is a multithread and a plurality of threads access a certain common data area jointly, or assume a case where a plurality of processes acquire a certain common data area and access the area jointly. If the common data area is cached in a plurality of processors, a large amount of cache maintenance information (address and control signals, etc.) will flow through the internal bus in order to maintain consistency. In other words, if a physical page which includes such a common data area is made a remote page, maintenance information comes and goes not only on the internal bus but also on the communication line connecting the information processing apparatuses. Since the efficiency of a communication line is lower than that of an internal bus, the result is a decline in the execution efficiency of the system.